// 经度
function longitudeLimit (longitude) {
  let value = parseFloat(longitude)
  if (value >= -180 && value <= 180) {
    return value.toFixed(4)
  } else if (value > 180) {
    return 180.0000.toFixed(4)
  } else if (value < -180) {
    return -180.0000.toFixed(4)
  }
}
// 纬度
function latitudeLimit (longitude) {
  let value = parseFloat(longitude)
  if (value >= -90 && value <= 90) {
    return value.toFixed(4)
  } else if (value > 90) {
    return 90.0000.toFixed(4)
  } else if (value < -90) {
    return -90.0000.toFixed(4)
  }
}

// 卫星GT值
function satelliteGtLimit (gt) {
  let value = parseFloat(gt)
  if (value >= -99999 && value <= 99999) {
    return value
  } else if (value > 99999) {
    return 99999
  } else if (value < 0) {
    return -99999
  }
}

// 转发器增益
function transponderGainLimit (longitude) {
  let value = parseFloat(longitude)
  if (value >= 0 && value <= 1000) {
    return value
  } else if (value > 1000) {
    return 1000
  } else if (value < 0) {
    return 0
  }
}

// 控制信道功率
function controlChannelPowerLimit (power) {
  let value = parseFloat(power)
  const max = -15
  const min = -45
  if (value >= min && value <= max) {
    return value
  } else if (value > max) {
    return max
  } else if (value < min) {
    return min
  }
}

// 天线增益
function antennaGainLimit (gain) {
  let value = parseFloat(gain)
  if (value >= 0 && value <= 1000) {
    return value
  } else if (value > 1000) {
    return 1000
  } else if (value < 0) {
    return 0
  }
}

// 链路余量
function linkMarginLimit (gain) {
  let value = parseFloat(gain)
  if (value >= -10 && value <= 10) {
    return value
  } else if (value > 10) {
    return 10
  } else if (value < -10) {
    return -10
  }
}

const valueControl = {
  longitudeLimit,
  latitudeLimit,
  satelliteGtLimit,
  transponderGainLimit,
  controlChannelPowerLimit,
  antennaGainLimit,
  linkMarginLimit
}

export default valueControl
